Mercurial > dive4elements > river
comparison flys-client/src/main/java/de/intevation/flys/client/client/ui/GaugeTree.java @ 4129:989f6f0d1986
NPE fix when comparing Double with double
author | Christian Lins <christian.lins@intevation.de> |
---|---|
date | Sun, 14 Oct 2012 11:21:27 +0200 |
parents | 436eec3be6ff |
children | 9be8d7942284 |
comparison
equal
deleted
inserted
replaced
4128:11c589d68f13 | 4129:989f6f0d1986 |
---|---|
1 package de.intevation.flys.client.client.ui; | 1 package de.intevation.flys.client.client.ui; |
2 | |
3 import java.util.ArrayList; | |
4 import java.util.List; | |
5 import java.util.Iterator; | |
6 | 2 |
7 import com.google.gwt.core.client.GWT; | 3 import com.google.gwt.core.client.GWT; |
8 import com.google.gwt.event.dom.client.ClickEvent; | 4 import com.google.gwt.event.dom.client.ClickEvent; |
9 import com.google.gwt.event.dom.client.ClickHandler; | 5 import com.google.gwt.event.dom.client.ClickHandler; |
10 import com.google.gwt.i18n.client.NumberFormat; | 6 import com.google.gwt.i18n.client.NumberFormat; |
18 | 14 |
19 import com.smartgwt.client.widgets.layout.HLayout; | 15 import com.smartgwt.client.widgets.layout.HLayout; |
20 | 16 |
21 import de.intevation.flys.client.client.FLYS; | 17 import de.intevation.flys.client.client.FLYS; |
22 import de.intevation.flys.client.client.FLYSConstants; | 18 import de.intevation.flys.client.client.FLYSConstants; |
23 | |
24 import de.intevation.flys.client.shared.model.Data; | 19 import de.intevation.flys.client.shared.model.Data; |
25 import de.intevation.flys.client.shared.model.DataItem; | 20 import de.intevation.flys.client.shared.model.DataItem; |
26 import de.intevation.flys.client.shared.model.DataList; | 21 import de.intevation.flys.client.shared.model.DataList; |
27 import de.intevation.flys.client.shared.model.GaugeInfo; | 22 import de.intevation.flys.client.shared.model.GaugeInfo; |
28 import de.intevation.flys.client.shared.model.RiverInfo; | 23 import de.intevation.flys.client.shared.model.RiverInfo; |
24 | |
25 import java.util.ArrayList; | |
26 import java.util.Iterator; | |
27 import java.util.List; | |
29 | 28 |
30 | 29 |
31 public class GaugeTree extends ScrollPanel { | 30 public class GaugeTree extends ScrollPanel { |
32 | 31 |
33 private FLYS flys; | 32 private FLYS flys; |
274 if (gitem.getStart() >= start) { | 273 if (gitem.getStart() >= start) { |
275 setstate = true; | 274 setstate = true; |
276 } | 275 } |
277 } | 276 } |
278 else { | 277 else { |
279 GWT.log("GaugeTree - openOnDistance gitem " + gitem.getStart() + " " + gitem.getEnd()); | 278 // as getStart()/getEnd() return Double objects, they can be null and |
280 if ((start >= gitem.getStart() && start <= gitem.getEnd()) || | 279 // can cause NPEs when comparing with double... strange... |
281 (end >= gitem.getStart() && end <= gitem.getEnd()) || | 280 if (gitem.getStart() != null && gitem.getEnd() != null) { |
282 (start <= gitem.getStart() && end >= gitem.getEnd())) { | 281 GWT.log("GaugeTree - openOnDistance gitem " + gitem.getStart() + " " + gitem.getEnd()); |
283 setstate = true; | 282 if ((start >= gitem.getStart() && start <= gitem.getEnd()) || |
284 } | 283 (end >= gitem.getStart() && end <= gitem.getEnd()) || |
284 (start <= gitem.getStart() && end >= gitem.getEnd())) { | |
285 setstate = true; | |
286 } | |
287 } | |
285 } | 288 } |
286 item.setState(setstate); | 289 item.setState(setstate); |
287 } | 290 } |
288 } | 291 } |
289 } | 292 } |
411 this.gauge = gauge; | 414 this.gauge = gauge; |
412 | 415 |
413 addClickHandler(this); | 416 addClickHandler(this); |
414 } | 417 } |
415 | 418 |
419 @Override | |
416 public void onClick(ClickEvent ev) { | 420 public void onClick(ClickEvent ev) { |
417 GWT.log("GaugeCurveAnchor - onClick " + gauge.getRiverName() + | 421 GWT.log("GaugeCurveAnchor - onClick " + gauge.getRiverName() + |
418 " " + gauge.getOfficialNumber()); | 422 " " + gauge.getOfficialNumber()); |
419 flys.newGaugeDischargeCurve(gauge.getRiverName(), | 423 flys.newGaugeDischargeCurve(gauge.getRiverName(), |
420 gauge.getOfficialNumber()); | 424 gauge.getOfficialNumber()); |