Mercurial > dive4elements > river
diff flys-client/src/main/java/de/intevation/flys/client/client/ui/DigitizePanel.java @ 4062:145980c21700
Handle error conditions more robust.
author | Christian Lins <christian.lins@intevation.de> |
---|---|
date | Mon, 08 Oct 2012 12:10:50 +0200 |
parents | 88b51e6e0334 |
children | 360e22afb98b |
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/DigitizePanel.java Mon Oct 08 11:01:20 2012 +0200 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/DigitizePanel.java Mon Oct 08 12:10:50 2012 +0200 @@ -1,38 +1,33 @@ package de.intevation.flys.client.client.ui; -import java.util.List; -import java.util.LinkedHashMap; - import com.google.gwt.core.client.GWT; import com.google.gwt.user.client.rpc.AsyncCallback; +import com.smartgwt.client.types.Encoding; +import com.smartgwt.client.types.VerticalAlignment; import com.smartgwt.client.util.SC; -import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.Button; +import com.smartgwt.client.widgets.Canvas; +import com.smartgwt.client.widgets.HTMLPane; import com.smartgwt.client.widgets.Label; -import com.smartgwt.client.widgets.events.ResizedEvent; -import com.smartgwt.client.widgets.events.ResizedHandler; import com.smartgwt.client.widgets.events.ClickEvent; import com.smartgwt.client.widgets.events.ClickHandler; -import com.smartgwt.client.widgets.tab.events.TabSelectedHandler; -import com.smartgwt.client.widgets.tab.events.TabSelectedEvent; +import com.smartgwt.client.widgets.events.ResizedEvent; +import com.smartgwt.client.widgets.events.ResizedHandler; +import com.smartgwt.client.widgets.events.VisibilityChangedEvent; import com.smartgwt.client.widgets.events.VisibilityChangedHandler; -import com.smartgwt.client.widgets.events.VisibilityChangedEvent; -import com.smartgwt.client.widgets.layout.VLayout; import com.smartgwt.client.widgets.form.DynamicForm; -import com.smartgwt.client.widgets.form.fields.UploadItem; import com.smartgwt.client.widgets.form.fields.SelectItem; -import com.smartgwt.client.types.VerticalAlignment; -import com.smartgwt.client.widgets.HTMLPane; -import com.smartgwt.client.types.Encoding; +import com.smartgwt.client.widgets.form.fields.UploadItem; +import com.smartgwt.client.widgets.layout.VLayout; +import com.smartgwt.client.widgets.tab.events.TabSelectedEvent; +import com.smartgwt.client.widgets.tab.events.TabSelectedHandler; -import org.gwtopenmaps.openlayers.client.Map; -import org.gwtopenmaps.openlayers.client.feature.VectorFeature; -import org.gwtopenmaps.openlayers.client.format.GeoJSON; -import org.gwtopenmaps.openlayers.client.layer.WMS; -import org.gwtopenmaps.openlayers.client.layer.WMSParams; -import org.gwtopenmaps.openlayers.client.layer.WMSOptions; - +import de.intevation.flys.client.client.Config; +import de.intevation.flys.client.client.services.MapInfoService; +import de.intevation.flys.client.client.services.MapInfoServiceAsync; +import de.intevation.flys.client.client.ui.map.FloodMap; +import de.intevation.flys.client.client.ui.map.MapPanel; import de.intevation.flys.client.shared.model.Data; import de.intevation.flys.client.shared.model.DataItem; import de.intevation.flys.client.shared.model.DataList; @@ -40,11 +35,15 @@ import de.intevation.flys.client.shared.model.DefaultDataItem; import de.intevation.flys.client.shared.model.MapInfo; -import de.intevation.flys.client.client.Config; -import de.intevation.flys.client.client.ui.map.FloodMap; -import de.intevation.flys.client.client.ui.map.MapPanel; -import de.intevation.flys.client.client.services.MapInfoService; -import de.intevation.flys.client.client.services.MapInfoServiceAsync; +import java.util.LinkedHashMap; +import java.util.List; + +import org.gwtopenmaps.openlayers.client.Map; +import org.gwtopenmaps.openlayers.client.feature.VectorFeature; +import org.gwtopenmaps.openlayers.client.format.GeoJSON; +import org.gwtopenmaps.openlayers.client.layer.WMS; +import org.gwtopenmaps.openlayers.client.layer.WMSOptions; +import org.gwtopenmaps.openlayers.client.layer.WMSParams; public class DigitizePanel @@ -100,6 +99,7 @@ String river = getDataValue("state.winfo.river", "river"); mapInfo.getMapInfo(locale, river, new AsyncCallback<MapInfo>() { + @Override public void onFailure(Throwable caught) { String msg = caught.getMessage(); @@ -107,6 +107,7 @@ SC.warn(MSG.getString(msg)); } + @Override public void onSuccess(MapInfo info) { createMapWidget(info, geojson[0]); } @@ -123,6 +124,7 @@ * * @return a combobox. */ + @Override protected Canvas createWidget(DataList data) { GWT.log("DigitizePanel - createWidget()"); @@ -191,6 +193,7 @@ uploadForm.setFields(uploadItem); Button submit = new Button(MSG.upload_file()); submit.addClickHandler(new ClickHandler() { + @Override public void onClick(ClickEvent e) { uploadForm.submitForm(); } @@ -216,12 +219,17 @@ Data[] data = super.getData(); Data[] total = new Data[2]; - DataItem item = new DefaultDataItem( - UESK_BARRIERS, UESK_BARRIERS, floodMap.getFeaturesAsGeoJSON()); - - total[0] = data[0]; - total[1] = new DefaultData( - UESK_BARRIERS, null, null, new DataItem[] { item }); + if (floodMap != null) { + DataItem item = new DefaultDataItem( + UESK_BARRIERS, UESK_BARRIERS, floodMap.getFeaturesAsGeoJSON()); + total[0] = data[0]; + total[1] = new DefaultData( + UESK_BARRIERS, null, null, new DataItem[] { item }); + } + else { + // Happens when OpenLayers is missing + GWT.log("floodMap is null -> OpenLayers missing?"); + } return total; } @@ -235,6 +243,7 @@ helperContainer.addMember(mapPanel); helperContainer.addResizedHandler(new ResizedHandler() { + @Override public void onResized(ResizedEvent e) { Integer height = helperContainer.getHeight(); Integer width = helperContainer.getWidth(); @@ -291,6 +300,7 @@ } + @Override public void onTabSelected(TabSelectedEvent tse) { if (tse.getTabNum () != 0) { floodMap.hideBarrierLayer(); @@ -300,6 +310,7 @@ } } + @Override public void onVisibilityChanged(VisibilityChangedEvent vce) { if (!vce.getIsVisible()) { floodMap.hideBarrierLayer();