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());

http://dive4elements.wald.intevation.org